package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 使用文件输入流从文件中读取数据
 */
public class FISDemo {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("fos.dat");
        /*
            fos.dat文件数据
            00000001 00000010

            第一次调用read:
            int d = fis.read();

            00000001 00000010
            ^^^^^^^^
            读取的字节

            返回的d的2进制:
            00000000 00000000 00000000 00000001
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            自动补充24个0                ^^^^^^^^
                                       读取的字节
         */
        int d = fis.read();//1
        System.out.println(d);
        /*
            第二次调用read:
            d = fis.read();

            00000001 00000010
                     ^^^^^^^^
                     读取的字节

            返回的d的2进制:
            00000000 00000000 00000000 00000010
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            自动补充24个0                ^^^^^^^^
                                       读取的字节
         */
        d = fis.read();
        System.out.println(d);//2
        /*
            第三次调用read:
            d = fis.read();

            00000001 00000010  文件末尾
                               ^^^^^^^^


            返回的d的2进制:
            11111111 11111111 11111111 11111111
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            32位2进制全是1,这是整数-1,用于表示流读取到了末尾

         */
        d = fis.read();
        System.out.println(d);//-1
        //流使用完毕后关闭
        fis.close();
    }
}
